﻿#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

// 只保留一个Solution类定义
class Solution {
public:
    int numberOfWeakCharacters(vector<vector<int>>& properties) {
        // 按攻击降序排序，若攻击相同则按防御升序排序
        sort(properties.begin(), properties.end(), [](const vector<int>& a, const vector<int>& b) {
            if (a[0] == b[0]) {
                return a[1] < b[1];
            }
            return a[0] > b[0];
            });

        int max_defense = 0;
        int count = 0;

        // 遍历所有角色，统计弱角色数量
        for (const auto& prop : properties) {
            int defense = prop[1];
            if (defense < max_defense) {
                // 当前角色的防御小于已记录的最大防御，说明是弱角色
                count++;
            }
            else {
                // 更新最大防御值
                max_defense = defense;
            }
        }

        return count;
    }
};

int main() {
    vector<vector<int>> properties = { {5,5},{6,3},{3,6} };
    Solution sol;
    int result = sol.numberOfWeakCharacters(properties);
    cout << "弱角色数量: " << result << endl;  // 输出: 0
    return 0;
}
